{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 项目介绍：\n",
    "    本案例的目标是客户价值识别，通过航空公司客户数据识别不同价值的客户。识别客户价值应用最广泛的模型是通过3个指标(最近消费时间间隔、消费频带和消费金额)来进行客户细分，识别出高价值的客户，简称REFM 。\n",
    "\n",
    "    在RFM模型中，消费金额表示在一段时间内， 客户购买该企业产品金额的总和由于航空票价受到运输距离、舱位等级等多种因素影响，同样消费金额的不同旅名对航空公司的价值是不同的。例如，一位购买长航线、低等级舱位票的旅各与一位购买短航线、高等级验位票的旅客相比，后者对于航空公司而言价值可能更高。因此，这个指标并不适用于航空公司的客户价值分析151我们选择客户在一定时间内累积的飞行里程M和客户在一定时间内乘坐舱位所对应的折扣系数的平均值两个指标代替消费金额。此外，考虑航空公司会员人会时间的长短在定程度上能够影响客户价值，所以在模型中增加客户关系长度L.作烟区分客户的另一指标。\n",
    "\n",
    "    本案例将客户 关系长度、消费时间间隔、消费频率、飞行里程和折扣系数的平均值五个指标作为航空公司识别客户价值指标\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据探索\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "df=pd.read_csv('air_data.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MEMBER_NO</th>\n",
       "      <th>FFP_DATE</th>\n",
       "      <th>FIRST_FLIGHT_DATE</th>\n",
       "      <th>GENDER</th>\n",
       "      <th>FFP_TIER</th>\n",
       "      <th>WORK_CITY</th>\n",
       "      <th>WORK_PROVINCE</th>\n",
       "      <th>WORK_COUNTRY</th>\n",
       "      <th>AGE</th>\n",
       "      <th>LOAD_TIME</th>\n",
       "      <th>...</th>\n",
       "      <th>ADD_Point_SUM</th>\n",
       "      <th>Eli_Add_Point_Sum</th>\n",
       "      <th>L1Y_ELi_Add_Points</th>\n",
       "      <th>Points_Sum</th>\n",
       "      <th>L1Y_Points_Sum</th>\n",
       "      <th>Ration_L1Y_Flight_Count</th>\n",
       "      <th>Ration_P1Y_Flight_Count</th>\n",
       "      <th>Ration_P1Y_BPS</th>\n",
       "      <th>Ration_L1Y_BPS</th>\n",
       "      <th>Point_NotFlight</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>54993</td>\n",
       "      <td>2006/11/02</td>\n",
       "      <td>2008/12/24</td>\n",
       "      <td>男</td>\n",
       "      <td>6</td>\n",
       "      <td>.</td>\n",
       "      <td>北京</td>\n",
       "      <td>CN</td>\n",
       "      <td>31.0</td>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>...</td>\n",
       "      <td>39992</td>\n",
       "      <td>114452</td>\n",
       "      <td>111100</td>\n",
       "      <td>619760</td>\n",
       "      <td>370211</td>\n",
       "      <td>0.509524</td>\n",
       "      <td>0.490476</td>\n",
       "      <td>0.487221</td>\n",
       "      <td>0.512777</td>\n",
       "      <td>50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>28065</td>\n",
       "      <td>2007/02/19</td>\n",
       "      <td>2007/08/03</td>\n",
       "      <td>男</td>\n",
       "      <td>6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>北京</td>\n",
       "      <td>CN</td>\n",
       "      <td>42.0</td>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>...</td>\n",
       "      <td>12000</td>\n",
       "      <td>53288</td>\n",
       "      <td>53288</td>\n",
       "      <td>415768</td>\n",
       "      <td>238410</td>\n",
       "      <td>0.514286</td>\n",
       "      <td>0.485714</td>\n",
       "      <td>0.489289</td>\n",
       "      <td>0.510708</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>55106</td>\n",
       "      <td>2007/02/01</td>\n",
       "      <td>2007/08/30</td>\n",
       "      <td>男</td>\n",
       "      <td>6</td>\n",
       "      <td>.</td>\n",
       "      <td>北京</td>\n",
       "      <td>CN</td>\n",
       "      <td>40.0</td>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>...</td>\n",
       "      <td>15491</td>\n",
       "      <td>55202</td>\n",
       "      <td>51711</td>\n",
       "      <td>406361</td>\n",
       "      <td>233798</td>\n",
       "      <td>0.518519</td>\n",
       "      <td>0.481481</td>\n",
       "      <td>0.481467</td>\n",
       "      <td>0.518530</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>21189</td>\n",
       "      <td>2008/08/22</td>\n",
       "      <td>2008/08/23</td>\n",
       "      <td>男</td>\n",
       "      <td>5</td>\n",
       "      <td>Los Angeles</td>\n",
       "      <td>CA</td>\n",
       "      <td>US</td>\n",
       "      <td>64.0</td>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>34890</td>\n",
       "      <td>34890</td>\n",
       "      <td>372204</td>\n",
       "      <td>186100</td>\n",
       "      <td>0.434783</td>\n",
       "      <td>0.565217</td>\n",
       "      <td>0.551722</td>\n",
       "      <td>0.448275</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>39546</td>\n",
       "      <td>2009/04/10</td>\n",
       "      <td>2009/04/15</td>\n",
       "      <td>男</td>\n",
       "      <td>6</td>\n",
       "      <td>贵阳</td>\n",
       "      <td>贵州</td>\n",
       "      <td>CN</td>\n",
       "      <td>48.0</td>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>...</td>\n",
       "      <td>22704</td>\n",
       "      <td>64969</td>\n",
       "      <td>64969</td>\n",
       "      <td>338813</td>\n",
       "      <td>210365</td>\n",
       "      <td>0.532895</td>\n",
       "      <td>0.467105</td>\n",
       "      <td>0.469054</td>\n",
       "      <td>0.530943</td>\n",
       "      <td>39</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 44 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   MEMBER_NO    FFP_DATE FIRST_FLIGHT_DATE GENDER  FFP_TIER    WORK_CITY  \\\n",
       "0      54993  2006/11/02        2008/12/24      男         6            .   \n",
       "1      28065  2007/02/19        2007/08/03      男         6          NaN   \n",
       "2      55106  2007/02/01        2007/08/30      男         6            .   \n",
       "3      21189  2008/08/22        2008/08/23      男         5  Los Angeles   \n",
       "4      39546  2009/04/10        2009/04/15      男         6           贵阳   \n",
       "\n",
       "  WORK_PROVINCE WORK_COUNTRY   AGE   LOAD_TIME       ...         \\\n",
       "0            北京           CN  31.0  2014/03/31       ...          \n",
       "1            北京           CN  42.0  2014/03/31       ...          \n",
       "2            北京           CN  40.0  2014/03/31       ...          \n",
       "3            CA           US  64.0  2014/03/31       ...          \n",
       "4            贵州           CN  48.0  2014/03/31       ...          \n",
       "\n",
       "   ADD_Point_SUM  Eli_Add_Point_Sum  L1Y_ELi_Add_Points  Points_Sum  \\\n",
       "0          39992             114452              111100      619760   \n",
       "1          12000              53288               53288      415768   \n",
       "2          15491              55202               51711      406361   \n",
       "3              0              34890               34890      372204   \n",
       "4          22704              64969               64969      338813   \n",
       "\n",
       "   L1Y_Points_Sum  Ration_L1Y_Flight_Count  Ration_P1Y_Flight_Count  \\\n",
       "0          370211                 0.509524                 0.490476   \n",
       "1          238410                 0.514286                 0.485714   \n",
       "2          233798                 0.518519                 0.481481   \n",
       "3          186100                 0.434783                 0.565217   \n",
       "4          210365                 0.532895                 0.467105   \n",
       "\n",
       "   Ration_P1Y_BPS Ration_L1Y_BPS  Point_NotFlight  \n",
       "0        0.487221       0.512777               50  \n",
       "1        0.489289       0.510708               33  \n",
       "2        0.481467       0.518530               26  \n",
       "3        0.551722       0.448275               12  \n",
       "4        0.469054       0.530943               39  \n",
       "\n",
       "[5 rows x 44 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 62988 entries, 0 to 62987\n",
      "Data columns (total 44 columns):\n",
      "MEMBER_NO                  62988 non-null int64\n",
      "FFP_DATE                   62988 non-null object\n",
      "FIRST_FLIGHT_DATE          62988 non-null object\n",
      "GENDER                     62985 non-null object\n",
      "FFP_TIER                   62988 non-null int64\n",
      "WORK_CITY                  60719 non-null object\n",
      "WORK_PROVINCE              59740 non-null object\n",
      "WORK_COUNTRY               62962 non-null object\n",
      "AGE                        62568 non-null float64\n",
      "LOAD_TIME                  62988 non-null object\n",
      "FLIGHT_COUNT               62988 non-null int64\n",
      "BP_SUM                     62988 non-null int64\n",
      "EP_SUM_YR_1                62988 non-null int64\n",
      "EP_SUM_YR_2                62988 non-null int64\n",
      "SUM_YR_1                   62437 non-null float64\n",
      "SUM_YR_2                   62850 non-null float64\n",
      "SEG_KM_SUM                 62988 non-null int64\n",
      "WEIGHTED_SEG_KM            62988 non-null float64\n",
      "LAST_FLIGHT_DATE           62988 non-null object\n",
      "AVG_FLIGHT_COUNT           62988 non-null float64\n",
      "AVG_BP_SUM                 62988 non-null float64\n",
      "BEGIN_TO_FIRST             62988 non-null int64\n",
      "LAST_TO_END                62988 non-null int64\n",
      "AVG_INTERVAL               62988 non-null float64\n",
      "MAX_INTERVAL               62988 non-null int64\n",
      "ADD_POINTS_SUM_YR_1        62988 non-null int64\n",
      "ADD_POINTS_SUM_YR_2        62988 non-null int64\n",
      "EXCHANGE_COUNT             62988 non-null int64\n",
      "avg_discount               62988 non-null float64\n",
      "P1Y_Flight_Count           62988 non-null int64\n",
      "L1Y_Flight_Count           62988 non-null int64\n",
      "P1Y_BP_SUM                 62988 non-null int64\n",
      "L1Y_BP_SUM                 62988 non-null int64\n",
      "EP_SUM                     62988 non-null int64\n",
      "ADD_Point_SUM              62988 non-null int64\n",
      "Eli_Add_Point_Sum          62988 non-null int64\n",
      "L1Y_ELi_Add_Points         62988 non-null int64\n",
      "Points_Sum                 62988 non-null int64\n",
      "L1Y_Points_Sum             62988 non-null int64\n",
      "Ration_L1Y_Flight_Count    62988 non-null float64\n",
      "Ration_P1Y_Flight_Count    62988 non-null float64\n",
      "Ration_P1Y_BPS             62988 non-null float64\n",
      "Ration_L1Y_BPS             62988 non-null float64\n",
      "Point_NotFlight            62988 non-null int64\n",
      "dtypes: float64(12), int64(24), object(8)\n",
      "memory usage: 21.1+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>MEMBER_NO</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>31494.500000</td>\n",
       "      <td>18183.213715</td>\n",
       "      <td>1.00</td>\n",
       "      <td>15747.750000</td>\n",
       "      <td>31494.500000</td>\n",
       "      <td>47241.250000</td>\n",
       "      <td>62988.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FFP_TIER</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>4.102162</td>\n",
       "      <td>0.373856</td>\n",
       "      <td>4.00</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AGE</th>\n",
       "      <td>62568.0</td>\n",
       "      <td>42.476346</td>\n",
       "      <td>9.885915</td>\n",
       "      <td>6.00</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>41.000000</td>\n",
       "      <td>48.000000</td>\n",
       "      <td>110.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FLIGHT_COUNT</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>11.839414</td>\n",
       "      <td>14.049471</td>\n",
       "      <td>2.00</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>213.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BP_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>10925.081254</td>\n",
       "      <td>16339.486151</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2518.000000</td>\n",
       "      <td>5700.000000</td>\n",
       "      <td>12831.000000</td>\n",
       "      <td>505308.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EP_SUM_YR_1</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EP_SUM_YR_2</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>265.689623</td>\n",
       "      <td>1645.702854</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>74460.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SUM_YR_1</th>\n",
       "      <td>62437.0</td>\n",
       "      <td>5355.376064</td>\n",
       "      <td>8109.450147</td>\n",
       "      <td>0.00</td>\n",
       "      <td>1003.000000</td>\n",
       "      <td>2800.000000</td>\n",
       "      <td>6574.000000</td>\n",
       "      <td>239560.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SUM_YR_2</th>\n",
       "      <td>62850.0</td>\n",
       "      <td>5604.026014</td>\n",
       "      <td>8703.364247</td>\n",
       "      <td>0.00</td>\n",
       "      <td>780.000000</td>\n",
       "      <td>2773.000000</td>\n",
       "      <td>6845.750000</td>\n",
       "      <td>234188.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SEG_KM_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>17123.878691</td>\n",
       "      <td>20960.844623</td>\n",
       "      <td>368.00</td>\n",
       "      <td>4747.000000</td>\n",
       "      <td>9994.000000</td>\n",
       "      <td>21271.250000</td>\n",
       "      <td>580717.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WEIGHTED_SEG_KM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>12777.152439</td>\n",
       "      <td>17578.586695</td>\n",
       "      <td>0.00</td>\n",
       "      <td>3219.045000</td>\n",
       "      <td>6978.255000</td>\n",
       "      <td>15299.632500</td>\n",
       "      <td>558440.140000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AVG_FLIGHT_COUNT</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>1.542154</td>\n",
       "      <td>1.786996</td>\n",
       "      <td>0.25</td>\n",
       "      <td>0.428571</td>\n",
       "      <td>0.875000</td>\n",
       "      <td>1.875000</td>\n",
       "      <td>26.625000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AVG_BP_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>1421.440249</td>\n",
       "      <td>2083.121324</td>\n",
       "      <td>0.00</td>\n",
       "      <td>336.000000</td>\n",
       "      <td>752.375000</td>\n",
       "      <td>1690.270833</td>\n",
       "      <td>63163.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BEGIN_TO_FIRST</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>120.145488</td>\n",
       "      <td>159.572867</td>\n",
       "      <td>0.00</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>50.000000</td>\n",
       "      <td>166.000000</td>\n",
       "      <td>729.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LAST_TO_END</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>176.120102</td>\n",
       "      <td>183.822223</td>\n",
       "      <td>1.00</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>108.000000</td>\n",
       "      <td>268.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AVG_INTERVAL</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>67.749788</td>\n",
       "      <td>77.517866</td>\n",
       "      <td>0.00</td>\n",
       "      <td>23.370370</td>\n",
       "      <td>44.666667</td>\n",
       "      <td>82.000000</td>\n",
       "      <td>728.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MAX_INTERVAL</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>166.033895</td>\n",
       "      <td>123.397180</td>\n",
       "      <td>0.00</td>\n",
       "      <td>79.000000</td>\n",
       "      <td>143.000000</td>\n",
       "      <td>228.000000</td>\n",
       "      <td>728.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ADD_POINTS_SUM_YR_1</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>540.316965</td>\n",
       "      <td>3956.083455</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>600000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ADD_POINTS_SUM_YR_2</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>814.689258</td>\n",
       "      <td>5121.796929</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>728282.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EXCHANGE_COUNT</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.319775</td>\n",
       "      <td>1.136004</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>46.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>avg_discount</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.721558</td>\n",
       "      <td>0.185427</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.611997</td>\n",
       "      <td>0.711856</td>\n",
       "      <td>0.809476</td>\n",
       "      <td>1.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P1Y_Flight_Count</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>5.766257</td>\n",
       "      <td>7.210922</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>118.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_Flight_Count</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>6.073157</td>\n",
       "      <td>8.175127</td>\n",
       "      <td>0.00</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>111.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P1Y_BP_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>5366.720550</td>\n",
       "      <td>8537.773021</td>\n",
       "      <td>0.00</td>\n",
       "      <td>946.000000</td>\n",
       "      <td>2692.000000</td>\n",
       "      <td>6485.250000</td>\n",
       "      <td>246197.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_BP_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>5558.360704</td>\n",
       "      <td>9351.956952</td>\n",
       "      <td>0.00</td>\n",
       "      <td>545.000000</td>\n",
       "      <td>2547.000000</td>\n",
       "      <td>6619.250000</td>\n",
       "      <td>259111.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EP_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>265.689623</td>\n",
       "      <td>1645.702854</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>74460.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ADD_Point_SUM</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>1355.006223</td>\n",
       "      <td>7868.477000</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>984938.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Eli_Add_Point_Sum</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>1620.695847</td>\n",
       "      <td>8294.398955</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>345.000000</td>\n",
       "      <td>984938.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_ELi_Add_Points</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>1080.378882</td>\n",
       "      <td>5639.857254</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>728282.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Points_Sum</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>12545.777100</td>\n",
       "      <td>20507.816700</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2775.000000</td>\n",
       "      <td>6328.500000</td>\n",
       "      <td>14302.500000</td>\n",
       "      <td>985572.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_Points_Sum</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>6638.739585</td>\n",
       "      <td>12601.819863</td>\n",
       "      <td>0.00</td>\n",
       "      <td>700.000000</td>\n",
       "      <td>2860.500000</td>\n",
       "      <td>7500.000000</td>\n",
       "      <td>728282.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_L1Y_Flight_Count</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.486419</td>\n",
       "      <td>0.319105</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.711111</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_P1Y_Flight_Count</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.513581</td>\n",
       "      <td>0.319105</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.288889</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.750000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_P1Y_BPS</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.522293</td>\n",
       "      <td>0.339632</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.258150</td>\n",
       "      <td>0.514252</td>\n",
       "      <td>0.815091</td>\n",
       "      <td>0.999989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_L1Y_BPS</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>0.468422</td>\n",
       "      <td>0.338956</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.167954</td>\n",
       "      <td>0.476747</td>\n",
       "      <td>0.728375</td>\n",
       "      <td>0.999993</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Point_NotFlight</th>\n",
       "      <td>62988.0</td>\n",
       "      <td>2.728155</td>\n",
       "      <td>7.364164</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>140.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           count          mean           std     min  \\\n",
       "MEMBER_NO                62988.0  31494.500000  18183.213715    1.00   \n",
       "FFP_TIER                 62988.0      4.102162      0.373856    4.00   \n",
       "AGE                      62568.0     42.476346      9.885915    6.00   \n",
       "FLIGHT_COUNT             62988.0     11.839414     14.049471    2.00   \n",
       "BP_SUM                   62988.0  10925.081254  16339.486151    0.00   \n",
       "EP_SUM_YR_1              62988.0      0.000000      0.000000    0.00   \n",
       "EP_SUM_YR_2              62988.0    265.689623   1645.702854    0.00   \n",
       "SUM_YR_1                 62437.0   5355.376064   8109.450147    0.00   \n",
       "SUM_YR_2                 62850.0   5604.026014   8703.364247    0.00   \n",
       "SEG_KM_SUM               62988.0  17123.878691  20960.844623  368.00   \n",
       "WEIGHTED_SEG_KM          62988.0  12777.152439  17578.586695    0.00   \n",
       "AVG_FLIGHT_COUNT         62988.0      1.542154      1.786996    0.25   \n",
       "AVG_BP_SUM               62988.0   1421.440249   2083.121324    0.00   \n",
       "BEGIN_TO_FIRST           62988.0    120.145488    159.572867    0.00   \n",
       "LAST_TO_END              62988.0    176.120102    183.822223    1.00   \n",
       "AVG_INTERVAL             62988.0     67.749788     77.517866    0.00   \n",
       "MAX_INTERVAL             62988.0    166.033895    123.397180    0.00   \n",
       "ADD_POINTS_SUM_YR_1      62988.0    540.316965   3956.083455    0.00   \n",
       "ADD_POINTS_SUM_YR_2      62988.0    814.689258   5121.796929    0.00   \n",
       "EXCHANGE_COUNT           62988.0      0.319775      1.136004    0.00   \n",
       "avg_discount             62988.0      0.721558      0.185427    0.00   \n",
       "P1Y_Flight_Count         62988.0      5.766257      7.210922    0.00   \n",
       "L1Y_Flight_Count         62988.0      6.073157      8.175127    0.00   \n",
       "P1Y_BP_SUM               62988.0   5366.720550   8537.773021    0.00   \n",
       "L1Y_BP_SUM               62988.0   5558.360704   9351.956952    0.00   \n",
       "EP_SUM                   62988.0    265.689623   1645.702854    0.00   \n",
       "ADD_Point_SUM            62988.0   1355.006223   7868.477000    0.00   \n",
       "Eli_Add_Point_Sum        62988.0   1620.695847   8294.398955    0.00   \n",
       "L1Y_ELi_Add_Points       62988.0   1080.378882   5639.857254    0.00   \n",
       "Points_Sum               62988.0  12545.777100  20507.816700    0.00   \n",
       "L1Y_Points_Sum           62988.0   6638.739585  12601.819863    0.00   \n",
       "Ration_L1Y_Flight_Count  62988.0      0.486419      0.319105    0.00   \n",
       "Ration_P1Y_Flight_Count  62988.0      0.513581      0.319105    0.00   \n",
       "Ration_P1Y_BPS           62988.0      0.522293      0.339632    0.00   \n",
       "Ration_L1Y_BPS           62988.0      0.468422      0.338956    0.00   \n",
       "Point_NotFlight          62988.0      2.728155      7.364164    0.00   \n",
       "\n",
       "                                  25%           50%           75%  \\\n",
       "MEMBER_NO                15747.750000  31494.500000  47241.250000   \n",
       "FFP_TIER                     4.000000      4.000000      4.000000   \n",
       "AGE                         35.000000     41.000000     48.000000   \n",
       "FLIGHT_COUNT                 3.000000      7.000000     15.000000   \n",
       "BP_SUM                    2518.000000   5700.000000  12831.000000   \n",
       "EP_SUM_YR_1                  0.000000      0.000000      0.000000   \n",
       "EP_SUM_YR_2                  0.000000      0.000000      0.000000   \n",
       "SUM_YR_1                  1003.000000   2800.000000   6574.000000   \n",
       "SUM_YR_2                   780.000000   2773.000000   6845.750000   \n",
       "SEG_KM_SUM                4747.000000   9994.000000  21271.250000   \n",
       "WEIGHTED_SEG_KM           3219.045000   6978.255000  15299.632500   \n",
       "AVG_FLIGHT_COUNT             0.428571      0.875000      1.875000   \n",
       "AVG_BP_SUM                 336.000000    752.375000   1690.270833   \n",
       "BEGIN_TO_FIRST               9.000000     50.000000    166.000000   \n",
       "LAST_TO_END                 29.000000    108.000000    268.000000   \n",
       "AVG_INTERVAL                23.370370     44.666667     82.000000   \n",
       "MAX_INTERVAL                79.000000    143.000000    228.000000   \n",
       "ADD_POINTS_SUM_YR_1          0.000000      0.000000      0.000000   \n",
       "ADD_POINTS_SUM_YR_2          0.000000      0.000000      0.000000   \n",
       "EXCHANGE_COUNT               0.000000      0.000000      0.000000   \n",
       "avg_discount                 0.611997      0.711856      0.809476   \n",
       "P1Y_Flight_Count             2.000000      3.000000      7.000000   \n",
       "L1Y_Flight_Count             1.000000      3.000000      8.000000   \n",
       "P1Y_BP_SUM                 946.000000   2692.000000   6485.250000   \n",
       "L1Y_BP_SUM                 545.000000   2547.000000   6619.250000   \n",
       "EP_SUM                       0.000000      0.000000      0.000000   \n",
       "ADD_Point_SUM                0.000000      0.000000      0.000000   \n",
       "Eli_Add_Point_Sum            0.000000      0.000000    345.000000   \n",
       "L1Y_ELi_Add_Points           0.000000      0.000000      0.000000   \n",
       "Points_Sum                2775.000000   6328.500000  14302.500000   \n",
       "L1Y_Points_Sum             700.000000   2860.500000   7500.000000   \n",
       "Ration_L1Y_Flight_Count      0.250000      0.500000      0.711111   \n",
       "Ration_P1Y_Flight_Count      0.288889      0.500000      0.750000   \n",
       "Ration_P1Y_BPS               0.258150      0.514252      0.815091   \n",
       "Ration_L1Y_BPS               0.167954      0.476747      0.728375   \n",
       "Point_NotFlight              0.000000      0.000000      1.000000   \n",
       "\n",
       "                                   max  \n",
       "MEMBER_NO                 62988.000000  \n",
       "FFP_TIER                      6.000000  \n",
       "AGE                         110.000000  \n",
       "FLIGHT_COUNT                213.000000  \n",
       "BP_SUM                   505308.000000  \n",
       "EP_SUM_YR_1                   0.000000  \n",
       "EP_SUM_YR_2               74460.000000  \n",
       "SUM_YR_1                 239560.000000  \n",
       "SUM_YR_2                 234188.000000  \n",
       "SEG_KM_SUM               580717.000000  \n",
       "WEIGHTED_SEG_KM          558440.140000  \n",
       "AVG_FLIGHT_COUNT             26.625000  \n",
       "AVG_BP_SUM                63163.500000  \n",
       "BEGIN_TO_FIRST              729.000000  \n",
       "LAST_TO_END                 731.000000  \n",
       "AVG_INTERVAL                728.000000  \n",
       "MAX_INTERVAL                728.000000  \n",
       "ADD_POINTS_SUM_YR_1      600000.000000  \n",
       "ADD_POINTS_SUM_YR_2      728282.000000  \n",
       "EXCHANGE_COUNT               46.000000  \n",
       "avg_discount                  1.500000  \n",
       "P1Y_Flight_Count            118.000000  \n",
       "L1Y_Flight_Count            111.000000  \n",
       "P1Y_BP_SUM               246197.000000  \n",
       "L1Y_BP_SUM               259111.000000  \n",
       "EP_SUM                    74460.000000  \n",
       "ADD_Point_SUM            984938.000000  \n",
       "Eli_Add_Point_Sum        984938.000000  \n",
       "L1Y_ELi_Add_Points       728282.000000  \n",
       "Points_Sum               985572.000000  \n",
       "L1Y_Points_Sum           728282.000000  \n",
       "Ration_L1Y_Flight_Count       1.000000  \n",
       "Ration_P1Y_Flight_Count       1.000000  \n",
       "Ration_P1Y_BPS                0.999989  \n",
       "Ration_L1Y_BPS                0.999993  \n",
       "Point_NotFlight             140.000000  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "describe_=df.describe().T #转置\n",
    "describe_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>null_sum</th>\n",
       "      <th>min</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>MEMBER_NO</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>62988.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FFP_TIER</th>\n",
       "      <td>0.0</td>\n",
       "      <td>4.00</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AGE</th>\n",
       "      <td>420.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>110.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FLIGHT_COUNT</th>\n",
       "      <td>0.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>213.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BP_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>505308.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EP_SUM_YR_1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EP_SUM_YR_2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>74460.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SUM_YR_1</th>\n",
       "      <td>551.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>239560.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SUM_YR_2</th>\n",
       "      <td>138.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>234188.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SEG_KM_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>368.00</td>\n",
       "      <td>580717.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WEIGHTED_SEG_KM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>558440.140000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AVG_FLIGHT_COUNT</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.25</td>\n",
       "      <td>26.625000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AVG_BP_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>63163.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BEGIN_TO_FIRST</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>729.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LAST_TO_END</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AVG_INTERVAL</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>728.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MAX_INTERVAL</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>728.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ADD_POINTS_SUM_YR_1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>600000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ADD_POINTS_SUM_YR_2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>728282.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EXCHANGE_COUNT</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>46.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>avg_discount</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>1.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P1Y_Flight_Count</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>118.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_Flight_Count</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>111.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P1Y_BP_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>246197.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_BP_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>259111.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EP_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>74460.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ADD_Point_SUM</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>984938.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Eli_Add_Point_Sum</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>984938.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_ELi_Add_Points</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>728282.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Points_Sum</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>985572.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>L1Y_Points_Sum</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>728282.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_L1Y_Flight_Count</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_P1Y_Flight_Count</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_P1Y_BPS</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.999989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ration_L1Y_BPS</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.999993</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Point_NotFlight</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>140.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         null_sum     min            max\n",
       "MEMBER_NO                     0.0    1.00   62988.000000\n",
       "FFP_TIER                      0.0    4.00       6.000000\n",
       "AGE                         420.0    6.00     110.000000\n",
       "FLIGHT_COUNT                  0.0    2.00     213.000000\n",
       "BP_SUM                        0.0    0.00  505308.000000\n",
       "EP_SUM_YR_1                   0.0    0.00       0.000000\n",
       "EP_SUM_YR_2                   0.0    0.00   74460.000000\n",
       "SUM_YR_1                    551.0    0.00  239560.000000\n",
       "SUM_YR_2                    138.0    0.00  234188.000000\n",
       "SEG_KM_SUM                    0.0  368.00  580717.000000\n",
       "WEIGHTED_SEG_KM               0.0    0.00  558440.140000\n",
       "AVG_FLIGHT_COUNT              0.0    0.25      26.625000\n",
       "AVG_BP_SUM                    0.0    0.00   63163.500000\n",
       "BEGIN_TO_FIRST                0.0    0.00     729.000000\n",
       "LAST_TO_END                   0.0    1.00     731.000000\n",
       "AVG_INTERVAL                  0.0    0.00     728.000000\n",
       "MAX_INTERVAL                  0.0    0.00     728.000000\n",
       "ADD_POINTS_SUM_YR_1           0.0    0.00  600000.000000\n",
       "ADD_POINTS_SUM_YR_2           0.0    0.00  728282.000000\n",
       "EXCHANGE_COUNT                0.0    0.00      46.000000\n",
       "avg_discount                  0.0    0.00       1.500000\n",
       "P1Y_Flight_Count              0.0    0.00     118.000000\n",
       "L1Y_Flight_Count              0.0    0.00     111.000000\n",
       "P1Y_BP_SUM                    0.0    0.00  246197.000000\n",
       "L1Y_BP_SUM                    0.0    0.00  259111.000000\n",
       "EP_SUM                        0.0    0.00   74460.000000\n",
       "ADD_Point_SUM                 0.0    0.00  984938.000000\n",
       "Eli_Add_Point_Sum             0.0    0.00  984938.000000\n",
       "L1Y_ELi_Add_Points            0.0    0.00  728282.000000\n",
       "Points_Sum                    0.0    0.00  985572.000000\n",
       "L1Y_Points_Sum                0.0    0.00  728282.000000\n",
       "Ration_L1Y_Flight_Count       0.0    0.00       1.000000\n",
       "Ration_P1Y_Flight_Count       0.0    0.00       1.000000\n",
       "Ration_P1Y_BPS                0.0    0.00       0.999989\n",
       "Ration_L1Y_BPS                0.0    0.00       0.999993\n",
       "Point_NotFlight               0.0    0.00     140.000000"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "describe_['null_sum']=len(df)-describe_['count']    #查看每列数据有多少空值 ，最大值，最小值\n",
    "describe_=describe_[['null_sum','min','max']]\n",
    "describe_columns=[u'空值数',u'最小值',u'最大值']\n",
    "describe_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据预处理\n",
    "\n",
    "###  *1.数据清洗*\n",
    "\n",
    " 1）发现数据中存在缺失值，票价最小值为0、折扣率最小为0、总飞行公里数大于0的记录。\n",
    ">处理方法：因这类数据比例很小，原始数据量大，对问题影响较小，因此进行丢弃处理。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1=df.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "#去除总票价为零，或总飞行公里、平均折扣不为零的记录\n",
    "index1=df1['SUM_YR_2']!=0           \n",
    "index2=(df1['SEG_KM_SUM']==0)&(df1['avg_discount']==0)\n",
    "df1=df1[index1|index2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MEMBER_NO                  51176\n",
       "FFP_DATE                   51176\n",
       "FIRST_FLIGHT_DATE          51176\n",
       "GENDER                     51174\n",
       "FFP_TIER                   51176\n",
       "WORK_CITY                  49351\n",
       "WORK_PROVINCE              48641\n",
       "WORK_COUNTRY               51155\n",
       "AGE                        50844\n",
       "LOAD_TIME                  51176\n",
       "FLIGHT_COUNT               51176\n",
       "BP_SUM                     51176\n",
       "EP_SUM_YR_1                51176\n",
       "EP_SUM_YR_2                51176\n",
       "SUM_YR_1                   51176\n",
       "SUM_YR_2                   51038\n",
       "SEG_KM_SUM                 51176\n",
       "WEIGHTED_SEG_KM            51176\n",
       "LAST_FLIGHT_DATE           51176\n",
       "AVG_FLIGHT_COUNT           51176\n",
       "AVG_BP_SUM                 51176\n",
       "BEGIN_TO_FIRST             51176\n",
       "LAST_TO_END                51176\n",
       "AVG_INTERVAL               51176\n",
       "MAX_INTERVAL               51176\n",
       "ADD_POINTS_SUM_YR_1        51176\n",
       "ADD_POINTS_SUM_YR_2        51176\n",
       "EXCHANGE_COUNT             51176\n",
       "avg_discount               51176\n",
       "P1Y_Flight_Count           51176\n",
       "L1Y_Flight_Count           51176\n",
       "P1Y_BP_SUM                 51176\n",
       "L1Y_BP_SUM                 51176\n",
       "EP_SUM                     51176\n",
       "ADD_Point_SUM              51176\n",
       "Eli_Add_Point_Sum          51176\n",
       "L1Y_ELi_Add_Points         51176\n",
       "Points_Sum                 51176\n",
       "L1Y_Points_Sum             51176\n",
       "Ration_L1Y_Flight_Count    51176\n",
       "Ration_P1Y_Flight_Count    51176\n",
       "Ration_P1Y_BPS             51176\n",
       "Ration_L1Y_BPS             51176\n",
       "Point_NotFlight            51176\n",
       "dtype: int64"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  *2. 属性规约*\n",
    "\n",
    ">原始数据中属性列太多，又有冗余、无用、重复的数据，所以只选取与模型相关的六个模型特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>截止时间</th>\n",
       "      <th>入会时间</th>\n",
       "      <th>上一飞行距今</th>\n",
       "      <th>飞行总计</th>\n",
       "      <th>飞行总里程</th>\n",
       "      <th>平均折扣率</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>2006/11/02</td>\n",
       "      <td>1</td>\n",
       "      <td>210</td>\n",
       "      <td>580717</td>\n",
       "      <td>0.961639</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>2007/02/19</td>\n",
       "      <td>7</td>\n",
       "      <td>140</td>\n",
       "      <td>293678</td>\n",
       "      <td>1.252314</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>2007/02/01</td>\n",
       "      <td>11</td>\n",
       "      <td>135</td>\n",
       "      <td>283712</td>\n",
       "      <td>1.254676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>2008/08/22</td>\n",
       "      <td>97</td>\n",
       "      <td>23</td>\n",
       "      <td>281336</td>\n",
       "      <td>1.090870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2014/03/31</td>\n",
       "      <td>2009/04/10</td>\n",
       "      <td>5</td>\n",
       "      <td>152</td>\n",
       "      <td>309928</td>\n",
       "      <td>0.970658</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         截止时间        入会时间  上一飞行距今  飞行总计   飞行总里程     平均折扣率\n",
       "0  2014/03/31  2006/11/02       1   210  580717  0.961639\n",
       "1  2014/03/31  2007/02/19       7   140  293678  1.252314\n",
       "2  2014/03/31  2007/02/01      11   135  283712  1.254676\n",
       "3  2014/03/31  2008/08/22      97    23  281336  1.090870\n",
       "4  2014/03/31  2009/04/10       5   152  309928  0.970658"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2=df1[['LOAD_TIME','FFP_DATE','LAST_TO_END','FLIGHT_COUNT','SEG_KM_SUM','avg_discount']]\n",
    "df2.columns=[u'截止时间',u'入会时间',u'上一飞行距今',u'飞行总计',u'飞行总里程',u'平均折扣率']\n",
    "df2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### *3. 数据变换*\n",
    "\n",
    ">1） 还考虑到客户的入会时间长短会影响客户的价值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda_install\\lib\\site-packages\\ipykernel_launcher.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "D:\\anaconda_install\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  after removing the cwd from sys.path.\n",
      "D:\\anaconda_install\\lib\\site-packages\\ipykernel_launcher.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"\n",
      "D:\\anaconda_install\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n"
     ]
    }
   ],
   "source": [
    "#计算加入会员时间长短，得要转变数据类型\n",
    "type(df2[u'截止时间'])\n",
    "df2[u'截止时间']=pd.to_datetime(df2[u'截止时间'])\n",
    "df2[u'入会时间']=pd.to_datetime(df2[u'入会时间'])\n",
    "df2[u'入会时长']=df2[u'截止时间']-df2[u'入会时间']\n",
    "df2.drop([u'截止时间',u'入会时间'],axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>上一飞行距今</th>\n",
       "      <th>飞行总计</th>\n",
       "      <th>飞行总里程</th>\n",
       "      <th>平均折扣率</th>\n",
       "      <th>入会时长</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>210</td>\n",
       "      <td>580717</td>\n",
       "      <td>0.961639</td>\n",
       "      <td>2706 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>7</td>\n",
       "      <td>140</td>\n",
       "      <td>293678</td>\n",
       "      <td>1.252314</td>\n",
       "      <td>2597 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>11</td>\n",
       "      <td>135</td>\n",
       "      <td>283712</td>\n",
       "      <td>1.254676</td>\n",
       "      <td>2615 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>97</td>\n",
       "      <td>23</td>\n",
       "      <td>281336</td>\n",
       "      <td>1.090870</td>\n",
       "      <td>2047 days</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>152</td>\n",
       "      <td>309928</td>\n",
       "      <td>0.970658</td>\n",
       "      <td>1816 days</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   上一飞行距今  飞行总计   飞行总里程     平均折扣率      入会时长\n",
       "0       1   210  580717  0.961639 2706 days\n",
       "1       7   140  293678  1.252314 2597 days\n",
       "2      11   135  283712  1.254676 2615 days\n",
       "3      97    23  281336  1.090870 2047 days\n",
       "4       5   152  309928  0.970658 1816 days"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> 2)数据五个指标的取值范围数据差异很大，为消除数量级带来的影响，需对数据标准化处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "df3=(df2-df2.mean(axis=0))/df2.std(axis=0)  #形成df3建模数据集"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型构建"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">根据客户的五个指标，对客户进行聚类分群,分群数k=5(视情况而定)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.cluster import KMeans"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[-0.08827369, -0.05046849, -0.03593286,  2.87182378,  0.1950162 ],\n",
       "        [-0.47444552, -0.16910915, -0.17139912, -0.20388248, -0.71247157],\n",
       "        [ 1.49949637, -0.53173107, -0.49751794, -0.19172015, -0.34805382],\n",
       "        [-0.81304163,  2.36082006,  2.29279437,  0.27654893,  0.4621158 ],\n",
       "        [-0.30521213, -0.12879004, -0.13323368, -0.1192214 ,  1.13152238]]),\n",
       " array([3, 3, 3, ..., 4, 4, 2]))"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "k=5\n",
    "kmodel=KMeans(n_clusters=k,n_jobs=4) #模型初始化 ，n_clusters为分类数，n_job为并行数，一般为CPU数\n",
    "kmodel.fit(df3)\n",
    "\n",
    "kmodel.cluster_centers_,kmodel.labels_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>聚类个数</th>\n",
       "      <th>上一飞行距今</th>\n",
       "      <th>飞行总计</th>\n",
       "      <th>飞行总里程</th>\n",
       "      <th>平均折扣率</th>\n",
       "      <th>入会时长</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2233</td>\n",
       "      <td>-0.088274</td>\n",
       "      <td>-0.050468</td>\n",
       "      <td>-0.035933</td>\n",
       "      <td>2.871824</td>\n",
       "      <td>0.195016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>19287</td>\n",
       "      <td>-0.474446</td>\n",
       "      <td>-0.169109</td>\n",
       "      <td>-0.171399</td>\n",
       "      <td>-0.203882</td>\n",
       "      <td>-0.712472</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>11534</td>\n",
       "      <td>1.499496</td>\n",
       "      <td>-0.531731</td>\n",
       "      <td>-0.497518</td>\n",
       "      <td>-0.191720</td>\n",
       "      <td>-0.348054</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4757</td>\n",
       "      <td>-0.813042</td>\n",
       "      <td>2.360820</td>\n",
       "      <td>2.292794</td>\n",
       "      <td>0.276549</td>\n",
       "      <td>0.462116</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13365</td>\n",
       "      <td>-0.305212</td>\n",
       "      <td>-0.128790</td>\n",
       "      <td>-0.133234</td>\n",
       "      <td>-0.119221</td>\n",
       "      <td>1.131522</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    聚类个数    上一飞行距今      飞行总计     飞行总里程     平均折扣率      入会时长\n",
       "0   2233 -0.088274 -0.050468 -0.035933  2.871824  0.195016\n",
       "1  19287 -0.474446 -0.169109 -0.171399 -0.203882 -0.712472\n",
       "2  11534  1.499496 -0.531731 -0.497518 -0.191720 -0.348054\n",
       "3   4757 -0.813042  2.360820  2.292794  0.276549  0.462116\n",
       "4  13365 -0.305212 -0.128790 -0.133234 -0.119221  1.131522"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r1=pd.Series(kmodel.labels_).value_counts()\n",
    "r2=pd.DataFrame(kmodel.cluster_centers_)\n",
    "df4=pd.concat([r1,r2],axis=1)\n",
    "df4.columns=[u'聚类个数'] + list(df2.columns)\n",
    "df4.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 特征分析\n",
    "### *用雷达图进行表示*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.style.use('ggplot')\n",
    "plt.rcParams['font.sans-serif']='simkai' \n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "#标签\n",
    "labels=np.array(df2.columns)\n",
    "#数据个数\n",
    "dataLength=5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda_install\\lib\\site-packages\\ipykernel_launcher.py:11: DeprecationWarning: \n",
      ".ix is deprecated. Please use\n",
      ".loc for label based indexing or\n",
      ".iloc for positional indexing\n",
      "\n",
      "See the documentation here:\n",
      "http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated\n",
      "  # This is added back by InteractiveShellApp.init_path()\n",
      "D:\\anaconda_install\\lib\\site-packages\\matplotlib\\font_manager.py:1320: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans\n",
      "  (prop.get_family(), self.defaultFamily[fontext]))\n"
     ]
    },
    {
     "data": {
      "image/png": "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du1ajBgxIqvXzgfa/LRPnDiBV155JWFSj0ajuPfee1FYWEj1b8rLyxEOh8HzPNavX4/NmzdTo2AymXDffffR12/fvh1Wq5XeCEuWLMHdd9+dcI3t27dj+fLlKCoqonr9drsdNTU1mD17NkaMGIFjx45h+fLlqKqqwpVXXgmj0YhevXrho48+wq5du3D69Gk8+OCDWc0AYVkWBQUFtIKzNerq6qgCaWs9CQYNGoSysjJVehIYjUYYjUZIkgSfz9cpJqx8g+M4yLKMEydO0OdIPEGWZfj9fvj9fprFxLIs3T1ki4MHD6K8vBxerxcWiwXjx49vU666tThDOtLZrfHFF19g2rRpLRoFcp1kUtftpbXz+Xw+LF26FCNHjszY9TobbRqFvn374oknnkh47qWXXgLDMHjxxRcxevRoDBkyBKtWrcLChQsBNBbsTJkyJek5y8rK8Morr2DOnDk4cOAATCZTs50Ey7K49NJL8bOf/QwbNmwAAEyePBnvv/8+XTn0798fCxcuxKJFi3DddddBkiTs2LEDkyZNwqRJk/DCCy9kVc+f53k4HI5W000bGhrojiBZjYJOp6M9CUpKSjL+HkizHoPBgGAwiPr6+pxnnXRmDAYDqquraae+ZFLZJEhNmrgUFRXR5AM1d2UHDx7EV199RetWvF4vvvrqKwBo0zDExxni617aI5395JNPYu3ateB5HpMmTcKVV16JdevWYevWrViyZAmWLl0Kn8+HefPmIRQKoV+/fli8eDHsdjt++tOfYtiwYdi9e7dq0tkAsGjRItx777146aWXMvcH6GS0e1/2xRdfwG63Y8KECdi9ezduv/12LF26tM2GGXV1dZg3bx569+6NBQsW0Odvv/12LFu2LEG0auPGjTh48CD9sm3atAnV1dU499xzAQBnzpzBP//5T7hcLrjdboRCIbzxxhvo0aMHAKCqqiprkx0JKLfktvJ4PNQQJMuEykZPAtLGU6/Xw+/35zwrq6vQNBW1LalsWZZpdz+j0Qin04lQKASfz9cu45COFARBkiSsWbMGa9asafW43/72twluHBKAbq909saNG6lctc1mw2WXXYZp06ZRBdNp06bhsccew7hx4/DMM8/g2WefpTIUgiBg1apVWLp0qSrS2Xv27MHp06dx+eWXa0Yh7Rf9fxfRI488AgAYPnw49u7di9OnT6OkpATz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l8MBuChwODXH5/PhU5/6FO655x50dXUNeLunn34a0WgU4XAYzz77bK9/27VrF2666Sbceeed+NznPtfr3wRBsHYwV/5MEAQYhoEHH3wQPp8PS5curd0vxZkwiHfeeeed9X4RHM54IxaLIZvNorW1FcuXL+/1b5qm4ZFHHoGiKLjqqquwcOFCvPrqq3jppZcwZ84cqKqKjo4OGIaBW2+9FRs2bIAgCHjxxRexc+dOvPXWW2hrawOlFDNmzAAAHDt2DB0dHdi2bRtOPfVUXH755byQzhkVfPMah2MDlFJs3rwZhmGgvb0d8XgcgBkBPProo1i1ahVef/117N69G4BZW1izZg2++c1v4uqrr0Y4HMamTZtw6NAhJJNJrF271nqcZ555Boqi4Pzzz0drayv++Mc/WlYk8Xgcb7/9Nl566SUAQLlcxsc//nEsWrSobu8Fp7Hg3Uccjg28/PLLePvttzFnzhy89957uO666wCYKziz2SwikUi/ITjmNSWKIvbv34+//vWvuOGGG3D77bfjjjvuwO23345/+7d/w8svvwxFUXDhhRda9922bRv27NmDj33sY/iXf/kX3HHHHVAUxclfmTNO4JECh1NjUqkUfvOb3+Cuu+6C3+/H7373O6xbtw5TpkyBx+PB+vXrkU6nIQgC2traMHXqVACmKITDYXzhC1/oN5ehKAouvfRS7Nu3b9DnFgQBF110ER555BHceOONtv6enPEJFwUOp4YUCgV897vfxbXXXotwOAwAuOaaa3D33Xfj9ttvR0tLC2655RYAwFNPPYVQKIQbb7wRL7zwAi655BLrcXRdt9JHnZ2dAICLL74YAHD06NGqz53L5XD//ffj7LPPhqZpuO+++3DDDTdY+505nOHAu484nBrx3nvv4V//9V+xYsUKrFy50vr58uXLsW7dOnz5y1/Grl27YBgGfvvb3yKVSuHmm2+GJEk4dOgQHnvsMes+hmFg+fLluPPOO7Fu3bohn/vYsWN4/vnncfrpp+Occ87B5z73OUSjUXz1q19FLpez5ffljE94TYHDqRFtbW3Yt28fzj///Kr/vnnzZixevBivvfYafvrTn2LKlCmQZRmKosDn8+Ho0aP48Ic/jJUrV6JYLCKfzyMSifR6jA0bNuDXv/41brrpJsyfP9/6eXt7OwqFAqZNm9br9oVCAaqq1v6X5YxbuChwOC6hUChYhn0DUSqVQAiBLMsOvjLORIKLAofD4XAseE2Bw+FwOBZcFDgcDodjwUWBw+FwOBZcFDgcDodj8f8B8Z1O2gNntgkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ffda38fdd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "N=len(r2)\n",
    "angles=np.linspace(0,2*np.pi,N,endpoint=False)\n",
    "#使雷达图封闭\n",
    "data=pd.concat([r2,r2.ix[:,0]],axis=1)\n",
    "angles=np.concatenate((angles,[angles[0]]))\n",
    "fig=plt.figure(figsize=(6,6))\n",
    "ax=fig.add_subplot(111,polar=True)\n",
    "\n",
    "for i in range(0,5):\n",
    "    j=i+1\n",
    "    ax.plot(angles,data.ix[i,:],'o-',linewidth=3,label=\"Customers{0}\".format(j))\n",
    "\n",
    "ax.set_thetagrids(angles*180/np.pi,labels,fontproperties='SimHei')       #每个特征对应的标签\n",
    "ax.set_title(\"客户特征分析图\",va='bottom',fontproperties='SimHei') #标题\n",
    "ax.set_rlim(-1,2.5)\n",
    "ax.grid(True)\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### *价值分析*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Customer 1： 在'平均折扣率'属性上最大，可定义为重要发展客户  \n",
    "Customer 2： 在'飞行总计' '飞行总里程'属性上较小，定义为一般客户  \n",
    "Customer 3： 在'飞行总计' '飞行总里程'属性最小，定义为低价值客户  \n",
    "Customer 4： 在'飞行总计' '飞行总里程'属性最大，定义为重要保持客户  \n",
    "Customer 5： 在'入会时长'属性最大，定义为重要挽留客户  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "每种客户类别的特征如下：  \n",
    "1.重要保持客户：'平均折扣率'（平均折扣率较高、仓位等级较高）、'飞行总计'、'飞行总里程'较高，'上一次飞行距今'（最近乘坐航班）低。应将资源优先投放到这类客户身上，进行差异化管理，提高客户的忠诚度和满意度。  \n",
    "\n",
    "2.重要发展客户：'平均折扣率'较高，这类客户入会时长短、当前价值低、发展潜力大，应促使客户增加在本公司和合作伙伴处的消费。  \n",
    "3.重要挽留客户：'平均折扣率'、'飞行总计'、'飞行总里程'较高，客户价值变化的不确定性高。应掌握客户最新信息、维持与客户的互动。  \n",
    "4.一般和低价值客户：其他属性都低、'上一次飞行距今'较高。这类客户可能在打折促销时才会选择消费。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
